//
// Created by aruba on 2020/4/16.
//

#ifndef FILECLASS_H
#define FILECLASS_H

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdarg.h>

class CFILE {

private:
    FILE *m_fp;
    char m_filename[301];
    bool m_buffenable;

public:
    //构造函数
    CFILE();

    //构造函数,带参数
    CFILE(bool buffenable);

    //打开文件
    bool Open(const char *filename, const char *mode);

    //fgets,读文件
    bool Fgets(char *buff, int readsize);

    //fgets,一个字节读文件
    int Fgetc();
    
    //写文件
    void Fprintf(const char *write);

    //写文件
    void Fprintf(const char *format, ...);

    //一个字节写文件
    void Fputc(const int c);
    
    //获取文件大小
    long GetFileSize();
    
    //析构函数
    ~CFILE();
};


#endif //FILECLASS_H
